Dependently-typed data plane programming
نویسندگان
چکیده
Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running network, risk faults also increases. Hence, there is growing recognition need for methods tools to statically verify correctness code, especially as language lacks basic safety guarantees. Type systems are a lightweight compositional way establish program properties, but significant gap between kinds properties that can be proved using simple type (e.g., SafeP4) those obtained full-blown verification p4v). In this paper, we close by developing $\Pi$4, dependently-typed version based on decidable refinements. We motivate design prove soundness its system, develop an SMT-based implementation, present case studies illustrate applicability variety plane programs.
منابع مشابه
Dependently Typed Meta-programming
Dependent types and multi stage programming have both been used, separately, as implementation techniques for programming languages. Each technique has its own advantages — with dependent types, we can verify aspects of interpreters and compilers such as type safety and stack invariants. Multi stage programming, on the other hand, can give the implementor access to underlying compiler technolog...
متن کاملGeneric Programming within Dependently Typed Programming
We show how higher kinded generic programming can be represented faithfully within a dependently typed programming system. This development has been implemented using the Oleg system. The present work can be seen as evidence for our thesis that extensions of type systems can be done by programming within a dependently typed language, using data as codes for types.
متن کاملDependently Typed Data Structures
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is of great use in practice. This mechanism, however, often suffers from its imprecision in capturing invariants inherent in data structures. We remedy the situation with the introduction of dependent datatypes, which allows the programmer to model data structures with significantly more accuracy. W...
متن کاملFunctional programming with dependently-typed higher-order data
This paper explores a new point in the design space of functional programming: functional programming with dependently typed higher-order data structures described in the logical framework LF. This allows us to program with proofs. The contributions of this paper are twofold: First, we present a syntax-directed bidirectional type system that distinguishes between dependently typed data and comp...
متن کاملDependently Typed Data Stru tures
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is of great use in practice. This mechanism, however, often suffers from its imprecision in capturing the invariants inherent in data structures. We remedy the situation with the introduction of dependent datatypes so that we can model data structures with significantly more accuracy. We present a f...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3498701